import fs from 'fs';
import path from 'path';
import { Wechat } from 'wechat-jssdk';
import { WX_ACCOUNT_REDIRECT_URL, WX_ACCOUNT_TOKEN, WX_ACCOUNT_APPID, WX_ACCOUNT_APP_SECRET, WX_PAY_MCH_ID, WX_PAY_PARTNER_KEY, WX_PAY_NOTIFY_URL, WX_MINIPROGRAM_APP_ID, WX_MINIPROGRAM_SECRET } from '../../config';

const wx = new Wechat({
  wechatRedirectUrl: WX_ACCOUNT_REDIRECT_URL, // 网页授权回调地址
  wechatToken: WX_ACCOUNT_TOKEN, //第一次在微信控制台保存开发者配置信息时使用
  appId: WX_ACCOUNT_APPID,
  appSecret: WX_ACCOUNT_APP_SECRET,
  card: true, //开启卡券支持，默认关闭
  payment: true, //开启支付支持，默认关闭
  merchantId: WX_PAY_MCH_ID, //商户ID
  paymentSandBox: true, //沙箱模式，验收用例
  paymentKey: WX_PAY_PARTNER_KEY, //必传，验签密钥，TIP:获取沙箱密钥也需要真实的密钥，所以即使在沙箱模式下，真实验签密钥也需要传入。
  //pfx 证书
  paymentCertificatePfx: fs.readFileSync(path.join(process.cwd(), 'config/weixin_pay_cert.p12')),
  //默认微信支付通知地址
  paymentNotifyUrl: WX_PAY_NOTIFY_URL,
  //小程序配置
  miniProgram: {
    appId: WX_MINIPROGRAM_APP_ID,
    appSecret: WX_MINIPROGRAM_SECRET
  }
});

export default wx;
